Advances in microprocessor and related computing technologies have lead to widespread deployment and adoption of computing devices. Computing powers that used to be available only in very expensive mainframe computers requiring air conditioned operating environments, are now available on many personal computing devices. Their form factors may vary from desktop, laptop, palm sized and so forth. A number of these computing devices are packaged as “special purpose” devices such as set top boxes, entertainment control centers, personal digital assistants (“PDA”), pagers, text messengers and wireless mobile phones.
Concurrently, advances in the complexity of the circuitry of computing devices and the software operating on these computing devices have lead to an increase in the level of possible errors and conflicts that may create unexpected incidents and/or events when utilizing computing devices. To respond to these incidents, software and hardware producers have developed reporting mechanisms such that users are informed of the existence of an unexpected incident. For example, in the boot sequence of a conventional computing device a power on self test (“POST”) code may generate as a series of beeps to indicate a particular hardware failure. Similarly, a software instruction that erroneously writes data to a protected portion of a computer's memory may generate an event in an operating system log.
However, these reporting mechanisms are deficient in a number of ways. POST codes are generally unintelligible to the majority of computer users, and operating system events that are logged are only effective so long as the operating system is operational and accessible. Systemic problems and/or incidents caused outside the operating system fail to be recorded and/or reported to a user in an intelligible manner.